package com.hello.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hello.common.core.annotation.Excel;
import com.hello.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 设备类型对象 device_type
 * 
 * @author hello
 * @date 2025-09-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class DeviceType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备类型ID */
    private Long typeId;

    /** 设备类型编码(camera=摄像头/sensor=传感器/feeder=投料机/aerator=增氧机/pump=水泵/light=灯光) */
    @Excel(name = "设备类型编码(camera=摄像头/sensor=传感器/feeder=投料机/aerator=增氧机/pump=水泵/light=灯光)")
    private String typeCode;

    /** 设备类型名称 */
    @Excel(name = "设备类型名称")
    private String typeName;

    /** 设备类型图标 */
    @Excel(name = "设备类型图标")
    private String typeIcon;

    /** 设备类型描述 */
    @Excel(name = "设备类型描述")
    private String description;

    /** 是否启用(0=否,1=是) */
    @Excel(name = "是否启用(0=否,1=是)")
    private String isActive;

    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }

    public Long getTypeId() 
    {
        return typeId;
    }
    public void setTypeCode(String typeCode) 
    {
        this.typeCode = typeCode;
    }

    public String getTypeCode() 
    {
        return typeCode;
    }
    public void setTypeName(String typeName) 
    {
        this.typeName = typeName;
    }

    public String getTypeName() 
    {
        return typeName;
    }
    public void setTypeIcon(String typeIcon) 
    {
        this.typeIcon = typeIcon;
    }

    public String getTypeIcon() 
    {
        return typeIcon;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setIsActive(String isActive) 
    {
        this.isActive = isActive;
    }

    public String getIsActive() 
    {
        return isActive;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("typeId", getTypeId())
            .append("typeCode", getTypeCode())
            .append("typeName", getTypeName())
            .append("typeIcon", getTypeIcon())
            .append("description", getDescription())
            .append("isActive", getIsActive())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
